// Package day_14_two_point 5-32
// @Title day_14_two_point
// @Description
// @Author  == 琳琳也叫王木木 ==  2021/9/7 19:56
// @Create  2021/9/7 19:56
package day_14_two_point

import (
	"math"
)

/**
括号序列合法：
1. 如果左括号看成1 有括号看成-1的话 所有前缀和>=0 并且总和=0

思路

start 当前枚举的这段的开头
cnt 前缀和
( = 1
) = -1
三种情况
cnt > 0

cnt = 0

cnt < 0
*/

func work(s string) int {
	if s == "" || len(s) < 1 {
		return 0
	}
	res := 0
	start, cnt := 0, 0
	for i := 0; i < len(s); i++ {
		if s[i] == '(' {
			cnt++
		} else {
			cnt--
			if cnt < 0 {
				start = i + 1
				cnt = 0
			} else if cnt == 0 {
				res = int(math.Max(float64(res), float64(i-start+1)))
			}
		}
	}
	return res
}

// LongestValidParentheses 最长有效括号 困难题
func LongestValidParentheses(s string) int {
	//res := work(s)
	return 0
}
